package com.hn.shopadmin.service;

import com.github.pagehelper.PageInfo;
import com.hn.kiss.modules.sys.shopcommon.common.ParmException;
import com.hn.kiss.modules.sys.shopdb.entity.Role;

import java.util.List;

/**
 * 角色管理业务接口
 */
public interface RoleService {
    /**
     * 角色添加
     * @param code 角色代码
     * @param name  角色名称
     * @param discribe 角色描述
     * @return
     * @throws ParmException
     */
    int insert(String code, String name, String discribe) throws ParmException;

    /**
     * 通过code获取角色信息
     * @param code
     * @return
     */
    Role getByCode(String code);

    /**
     * 角色信息修改
     * @param code 角色代码
     * @param name  角色名称
     * @param discribe 角色描述
     * @return
     */
    int update(String code, String name, String discribe) throws ParmException;

    /**
     * 获取启用角色列表
     * @return
     */
    List<Role> listALlRole();

    /**
     * 角色分页列表
     * @param page
     * @param limit
     * @param keywork code/name/discribe
     * @return
     */
    PageInfo<Role> listPageRole(Integer page, Integer limit, String keywork);

    /**
     * 角色禁用
     * @param code
     * @return
     */
    int stop(String code);

    /**
     * 用户启用
     * @param code
     * @return
     */
    int start(String code);

    /**
     * 校验code和name
     * @param code
     * @param name
     * @return
     */
    void validatorCodeAndName(String code, String name) throws ParmException;
}
